import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {

    public static void main(String[] args) {
        StringBuilder a = new StringBuilder("A");
        StringBuilder b = new StringBuilder("B");

        func(a, b);

        System.out.println(a);
        System.out.println(b);
    }

    private static void func(StringBuilder a, StringBuilder b) {
        a.append(b);
        b = a;
    }

//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        // 注意 hasNext 和 hasNextLine 的区别
//        int n = in.nextInt();
//        int l, r, k, x, ret, t;
//        for (int j = 0; j < n; j++) {
//            l = in.nextInt();
//            r = in.nextInt();
//            k = in.nextInt();
//            x = in.nextInt();
//            // [l,r] 多少整数 i 满足  i mod k = x
//            t = 0;
//            for (int i = Math.max(l, x); i <= r; i++) {
//                if (i % k == x) {
//                    t = i;
//                    break;
//                }
//            }
//            ret = 1 + (r - t) / k;
//            System.out.println(ret);
//        }
//    }

//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        // 注意 hasNext 和 hasNextLine 的区别
//        int n = in.nextInt();
//        for (int i = 0; i < n; i++) {
//            int v = in.nextInt();
//            StringBuilder str = new StringBuilder();
//            if (v >= 250 && v <= 350) {
//                str.append("G ");
//            }
//            if (v >= 160 && v <= 250) {
//                str.append("D ");
//            }
//            if (v >= 200 && v <= 300) {
//                str.append("C ");
//            }
//            if (str.isEmpty()) {
//                str.append("other");
//            }
//            System.out.println(str);
//        }
//    }

//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        // 注意 hasNext 和 hasNextLine 的区别
//        int n = in.nextInt();
//        for (int j = 0; j < n; j++) {
//            int l = in.nextInt();
//            int r = in.nextInt();
//            int k = in.nextInt();
//            int x = in.nextInt();
//            // [l,r] 多少整数 i 满足  i mod k = x
//            int ret = 0;
//            int t = 0;
//            for (int i = l; i <= r; i++) {
//                if (i % k == x) {
//                    t = i;
//                    break;
//                }
//            }
//            ret = 1 + (r - t) / k;
//            System.out.println(ret);
//        }
//    }


//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        int n = in.nextInt();
//        int cur;
//        Set<Integer> set = new HashSet<>();
//        int[] dp = new int[n];
//        int last = in.nextInt();
//        int maxNum = last;
//        dp[0] = last - 1;
//        System.out.print(dp[0] + " ");
//        for (int i = 1; i < n; i++) {
//            cur = in.nextInt();
//            if (cur > maxNum) {
//                if (cur == last + 1) {
//                    dp[i] = dp[i - 1];
//                } else {
//                    dp[i] = dp[i - 1] + cur - maxNum - 1;
//                }
//            } else {
//                dp[i] = dp[i - 1] - 1;
//            }
//            if (cur > maxNum) {
//                maxNum = cur;
//            }
//            last = cur;
//            System.out.print(dp[i] + " ");
//        }
//    }
}